技術問答
技術文章
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
29
0
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
29
篇
Day29- 例外處理 (Exception)
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-15 17:33:06
5735 瀏覽
分享至
Part1.例外處理簡介
學習目標
何謂「例外」(Exception)?
為什麼需要有「例外」機制?
Python 例外機制的長相
何謂「例外(Exception)」
定義
程式執行過程中,足以中斷程式執行的錯誤
如果沒有「例外處理」機制…
您或許會用 if ~ else 處理…
Python 的例外處理機制…
重點整理
何謂「例外」(Exception)?
任何足以中斷程式執行的錯誤
為何需要有「例外」機制?
為了就算發生錯誤,程式控制權仍在我們手上,不致於中斷執行
為了提供容易了解的錯誤訊息,給不知情的使用者
為了發生錯誤後,能讓使用者有修正的機會
Python 例外機制的長相
try ~ except ~ else 語法
Part2.例外捕捉
學習目標
Python 例外處理的語法
常見的例外有哪些?
例外處理範例
例外處理語法
Python 常見的例外類型
參考官方網站說明:
Built-in Exceptions
重點整理
Python 例外處理的語法
try ~ except ~ else ~ finally
try:主程式區(監視區)
except:例外處理區
else:無錯誤區
finally:收尾程式碼區
常見的例外有哪些?
詳見:
Built-in Exceptions
Part3.自訂例外
學習目標
自訂例外的步驟
自訂例外的範例
自訂例外步驟
為你的例外建立一個類別,並繼承 Exception 類別
如:class SalaryException(Exception)
在需要丟出該例外類別的場合,使用 raise 指令
如:raise SalaryException()
在主程式攔截該例外
用 try ~ except 攔截 SalaryException
自訂例外的範例(取自老師上課範例)
限制加薪幅度不得大於 5%,否則丟出例外警告之
先開啟「物件導向」章節的 HRSystem 專案的 employee.py 檔案
建立繼承 Exception 的 SalaryException 類別
新增 .raiseSalary() 方法
主程式:攔截 SalaryException
重點整理
自訂例外步驟
建立一個例外類別,並使該類別繼承 Exception。
在需要丟出該例外類別的場合,使用 raise 指令
在主程式使用 try ~ except 攔截該例外
留言
追蹤
檢舉
上一篇
Day28-物件導向設計封裝部分:建構函數(Constructor)
下一篇
Day30-總結30 天
系列文
從不懂,到玩上手的Python語言
共
30
篇
目錄
RSS系列文
訂閱系列文
10
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19860
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
請益如何關閉Windows的登入畫面?
事件檢視器應用-2
熱門回答
熱門文章
【資料治理實戰回憶錄】05. Business 與 IT 的資料權責定義 (R&R) 與定位策略
[POG-07] 觀念釐清:POG vs. PDD vs. PDE,解讀 AI 開發的「方法論全家桶」
信件delay,Lag,收到的郵件比發出的時間慢很多
績效管理是什麼?完整解析定義與流程
當我的AI助手住進雲端:我的生活變了, 使用Clawdbot + Linode一周感受
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}